package com.yxinsur.imc.business.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxinsur.imc.business.domain.ImcOrderRiskEndorse;
import com.yxinsur.imc.business.vo.OrderRiskEndorseVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 保单险种批单详情Mapper接口
 *
 * @author imc
 * @date 2021-10-09
 */
@Mapper
public interface ImcOrderRiskEndorseMapper extends BaseMapper<ImcOrderRiskEndorse> {
    /**
     * 查询险种批改列表
     *
     * @param imcOrderRiskEndorse 保单险种批单详情
     * @return 保单险种批单详情集合
     */
    List<ImcOrderRiskEndorse> selectImcOrderRiskEndorseList(ImcOrderRiskEndorse imcOrderRiskEndorse);

    /**
     * 新增保单险种批单
     *
     * @param imcOrderRiskEndorse 保单险种批单
     * @return 结果
     */
    int insertImcOrderRiskEndorse(ImcOrderRiskEndorse imcOrderRiskEndorse);

    /**
     * 逻辑删除保单险种批单
     *
     * @param imcOrderRiskEndorse 保单险种批单
     * @return 结果
     */
    int deleteImcOrderRiskEndorseById(ImcOrderRiskEndorse imcOrderRiskEndorse);

    /**
     * 根据保单ID查询批单险种列表
     *
     * @param orderId 保单ID
     * @return List<OrderRiskEndorseVo>
     */
    List<OrderRiskEndorseVo> selectOrderRiskEndorseVoList(@Param("orderId") Long orderId);

    /**
     * 根据{保单ID}查询保单险种批单
     *
     * @param orderId 保单ID
     * @return List<ImcOrderRiskEndorse>
     */
    List<ImcOrderRiskEndorse> listOrderRiskEndorseByOrderId(@Param("orderId") Long orderId);

    /**
     * 根据{保单ID}查询保单险种批单
     *
     * @param orderId  保单ID
     * @param tenantId 租户ID
     * @return List<OrderRiskEndorseVo>
     */
    List<OrderRiskEndorseVo> listOrderRiskEndorseVoByOrderId(@Param("orderId") Long orderId, @Param("tenantId") long tenantId);
}
